#include "emp-tool/circuits/float32.h"
using emp::Float;
using emp::Bit;

Float Float::operator-(const Float& rhs) const {
	Float res(*this);
	
	Bit *B = new Bit[2031];

	B[0] = res[0];
	B[1] = res[1];
	B[2] = res[2];
	B[3] = res[3];
	B[4] = res[4];
	B[5] = res[5];
	B[6] = res[6];
	B[7] = res[7];
	B[8] = res[8];
	B[9] = res[9];
	B[10] = res[10];
	B[11] = res[11];
	B[12] = res[12];
	B[13] = res[13];
	B[14] = res[14];
	B[15] = res[15];
	B[16] = res[16];
	B[17] = res[17];
	B[18] = res[18];
	B[19] = res[19];
	B[20] = res[20];
	B[21] = res[21];
	B[22] = res[22];
	B[23] = res[23];
	B[24] = res[24];
	B[25] = res[25];
	B[26] = res[26];
	B[27] = res[27];
	B[28] = res[28];
	B[29] = res[29];
	B[30] = res[30];
	B[31] = res[31];
	B[32] = rhs[0];
	B[33] = rhs[1];
	B[34] = rhs[2];
	B[35] = rhs[3];
	B[36] = rhs[4];
	B[37] = rhs[5];
	B[38] = rhs[6];
	B[39] = rhs[7];
	B[40] = rhs[8];
	B[41] = rhs[9];
	B[42] = rhs[10];
	B[43] = rhs[11];
	B[44] = rhs[12];
	B[45] = rhs[13];
	B[46] = rhs[14];
	B[47] = rhs[15];
	B[48] = rhs[16];
	B[49] = rhs[17];
	B[50] = rhs[18];
	B[51] = rhs[19];
	B[52] = rhs[20];
	B[53] = rhs[21];
	B[54] = rhs[22];
	B[55] = rhs[23];
	B[56] = rhs[24];
	B[57] = rhs[25];
	B[58] = rhs[26];
	B[59] = rhs[27];
	B[60] = rhs[28];
	B[61] = rhs[29];
	B[62] = rhs[30];
	B[63] = !rhs[31];
	B[64] = !B[30];
	B[65] = B[62] & B[64];
	B[65] = !B[65];
	B[66] = !B[29];
	B[67] = B[61] & B[66];
	B[67] = !B[67];
	B[68] = !B[61];
	B[1847] = !B[66];
	B[69] = B[68] & B[1847];
	B[69] = !B[69];
	B[70] = !B[28];
	B[71] = B[69] & B[70];
	B[72] = B[60] & B[71];
	B[72] = !B[72];
	B[73] = B[67] & B[72];
	B[73] = !B[73];
	B[1848] = !B[62];
	B[74] = B[30] & B[1848];
	B[1849] = !B[74];
	B[75] = B[73] & B[1849];
	B[75] = !B[75];
	B[76] = B[65] & B[75];
	B[77] = !B[25];
	B[78] = B[57] & B[77];
	B[78] = !B[78];
	B[79] = !B[57];
	B[1850] = !B[77];
	B[80] = B[79] & B[1850];
	B[80] = !B[80];
	B[1851] = !B[24];
	B[81] = B[80] & B[1851];
	B[82] = B[81] & B[56];
	B[82] = !B[82];
	B[83] = B[78] & B[82];
	B[83] = !B[83];
	B[84] = !B[58];
	B[85] = B[26] & B[84];
	B[85] = !B[85];
	B[86] = !B[59];
	B[87] = B[27] & B[86];
	B[87] = !B[87];
	B[88] = B[85] & B[87];
	B[88] = !B[88];
	B[1852] = !B[88];
	B[89] = B[83] & B[1852];
	B[89] = !B[89];
	B[90] = !B[27];
	B[91] = B[59] & B[90];
	B[91] = !B[91];
	B[92] = B[89] & B[91];
	B[93] = !B[26];
	B[94] = B[87] & B[93];
	B[95] = B[58] & B[94];
	B[95] = !B[95];
	B[96] = B[92] & B[95];
	B[96] = !B[96];
	B[1853] = !B[74];
	B[97] = B[69] & B[1853];
	B[98] = !B[60];
	B[99] = B[28] & B[98];
	B[99] = !B[99];
	B[100] = B[97] & B[99];
	B[101] = B[96] & B[100];
	B[101] = !B[101];
	B[1854] = !B[88];
	B[102] = B[100] & B[1854];
	B[1855] = !B[56];
	B[103] = B[24] & B[1855];
	B[103] = !B[103];
	B[104] = B[80] & B[103];
	B[105] = B[102] & B[104];
	B[1856] = !B[50];
	B[106] = B[18] & B[1856];
	B[106] = !B[106];
	B[1857] = !B[51];
	B[107] = B[19] & B[1857];
	B[107] = !B[107];
	B[108] = B[106] & B[107];
	B[108] = !B[108];
	B[1858] = !B[108];
	B[109] = B[105] & B[1858];
	B[1859] = !B[53];
	B[110] = B[21] & B[1859];
	B[110] = !B[110];
	B[1860] = !B[52];
	B[111] = B[20] & B[1860];
	B[111] = !B[111];
	B[112] = B[110] & B[111];
	B[1861] = !B[54];
	B[113] = B[22] & B[1861];
	B[113] = !B[113];
	B[114] = !B[55];
	B[115] = B[23] & B[114];
	B[115] = !B[115];
	B[116] = B[113] & B[115];
	B[116] = !B[116];
	B[1862] = !B[116];
	B[117] = B[112] & B[1862];
	B[117] = !B[117];
	B[1863] = !B[117];
	B[118] = B[109] & B[1863];
	B[1864] = !B[49];
	B[119] = B[17] & B[1864];
	B[119] = !B[119];
	B[1865] = !B[15];
	B[120] = B[47] & B[1865];
	B[120] = !B[120];
	B[1866] = !B[13];
	B[121] = B[45] & B[1866];
	B[121] = !B[121];
	B[1867] = !B[45];
	B[122] = B[13] & B[1867];
	B[122] = !B[122];
	B[1868] = !B[12];
	B[123] = B[122] & B[1868];
	B[124] = B[44] & B[123];
	B[124] = !B[124];
	B[125] = B[121] & B[124];
	B[125] = !B[125];
	B[1869] = !B[46];
	B[126] = B[14] & B[1869];
	B[126] = !B[126];
	B[1870] = !B[47];
	B[127] = B[15] & B[1870];
	B[127] = !B[127];
	B[128] = B[126] & B[127];
	B[128] = !B[128];
	B[1871] = !B[128];
	B[129] = B[125] & B[1871];
	B[129] = !B[129];
	B[130] = B[120] & B[129];
	B[1872] = !B[14];
	B[131] = B[127] & B[1872];
	B[132] = B[46] & B[131];
	B[132] = !B[132];
	B[1873] = !B[9];
	B[133] = B[41] & B[1873];
	B[133] = !B[133];
	B[1874] = !B[41];
	B[134] = B[9] & B[1874];
	B[134] = !B[134];
	B[1875] = !B[8];
	B[135] = B[134] & B[1875];
	B[136] = B[40] & B[135];
	B[136] = !B[136];
	B[137] = B[133] & B[136];
	B[137] = !B[137];
	B[1876] = !B[42];
	B[138] = B[10] & B[1876];
	B[138] = !B[138];
	B[1877] = !B[43];
	B[139] = B[11] & B[1877];
	B[139] = !B[139];
	B[140] = B[138] & B[139];
	B[140] = !B[140];
	B[1878] = !B[140];
	B[141] = B[137] & B[1878];
	B[141] = !B[141];
	B[1879] = !B[11];
	B[142] = B[43] & B[1879];
	B[142] = !B[142];
	B[143] = B[141] & B[142];
	B[1880] = !B[10];
	B[144] = B[139] & B[1880];
	B[145] = B[42] & B[144];
	B[145] = !B[145];
	B[146] = B[143] & B[145];
	B[146] = !B[146];
	B[1881] = !B[44];
	B[147] = B[12] & B[1881];
	B[147] = !B[147];
	B[148] = B[122] & B[147];
	B[1882] = !B[128];
	B[149] = B[148] & B[1882];
	B[150] = B[146] & B[149];
	B[150] = !B[150];
	B[151] = B[132] & B[150];
	B[1883] = !B[140];
	B[152] = B[149] & B[1883];
	B[1884] = !B[40];
	B[153] = B[8] & B[1884];
	B[153] = !B[153];
	B[154] = B[134] & B[153];
	B[1885] = !B[5];
	B[155] = B[37] & B[1885];
	B[155] = !B[155];
	B[1886] = !B[37];
	B[156] = B[5] & B[1886];
	B[156] = !B[156];
	B[1887] = !B[4];
	B[157] = B[156] & B[1887];
	B[158] = B[36] & B[157];
	B[158] = !B[158];
	B[159] = B[155] & B[158];
	B[159] = !B[159];
	B[1888] = !B[38];
	B[160] = B[6] & B[1888];
	B[160] = !B[160];
	B[1889] = !B[39];
	B[161] = B[7] & B[1889];
	B[161] = !B[161];
	B[162] = B[160] & B[161];
	B[162] = !B[162];
	B[1890] = !B[162];
	B[163] = B[159] & B[1890];
	B[163] = !B[163];
	B[1891] = !B[7];
	B[164] = B[39] & B[1891];
	B[164] = !B[164];
	B[165] = B[163] & B[164];
	B[1892] = !B[6];
	B[166] = B[161] & B[1892];
	B[167] = B[166] & B[38];
	B[167] = !B[167];
	B[168] = !B[35];
	B[169] = !B[3];
	B[1893] = !B[169];
	B[170] = B[168] & B[1893];
	B[170] = !B[170];
	B[171] = !B[34];
	B[172] = B[2] & B[171];
	B[172] = !B[172];
	B[173] = B[170] & B[172];
	B[174] = !B[1];
	B[175] = B[33] & B[174];
	B[175] = !B[175];
	B[176] = !B[33];
	B[177] = B[1] & B[176];
	B[177] = !B[177];
	B[1894] = !B[0];
	B[178] = B[177] & B[1894];
	B[179] = B[32] & B[178];
	B[179] = !B[179];
	B[180] = B[175] & B[179];
	B[180] = !B[180];
	B[181] = B[173] & B[180];
	B[181] = !B[181];
	B[182] = B[35] & B[169];
	B[182] = !B[182];
	B[183] = B[181] & B[182];
	B[184] = !B[2];
	B[185] = B[170] & B[184];
	B[186] = B[34] & B[185];
	B[186] = !B[186];
	B[187] = B[183] & B[186];
	B[187] = !B[187];
	B[1895] = !B[162];
	B[188] = B[187] & B[1895];
	B[1896] = !B[36];
	B[189] = B[4] & B[1896];
	B[189] = !B[189];
	B[190] = B[156] & B[189];
	B[191] = B[188] & B[190];
	B[191] = !B[191];
	B[192] = B[167] & B[191];
	B[193] = B[165] & B[192];
	B[193] = !B[193];
	B[194] = B[154] & B[193];
	B[195] = B[152] & B[194];
	B[195] = !B[195];
	B[196] = B[151] & B[195];
	B[197] = B[130] & B[196];
	B[197] = !B[197];
	B[198] = B[119] & B[197];
	B[1897] = !B[48];
	B[199] = B[16] & B[1897];
	B[199] = !B[199];
	B[200] = B[198] & B[199];
	B[201] = B[118] & B[200];
	B[201] = !B[201];
	B[202] = B[101] & B[201];
	B[1898] = !B[21];
	B[203] = B[53] & B[1898];
	B[203] = !B[203];
	B[1899] = !B[20];
	B[204] = B[110] & B[1899];
	B[205] = B[52] & B[204];
	B[205] = !B[205];
	B[206] = B[203] & B[205];
	B[206] = !B[206];
	B[1900] = !B[116];
	B[207] = B[206] & B[1900];
	B[207] = !B[207];
	B[208] = !B[23];
	B[209] = B[55] & B[208];
	B[209] = !B[209];
	B[210] = B[207] & B[209];
	B[1901] = !B[22];
	B[211] = B[115] & B[1901];
	B[212] = B[211] & B[54];
	B[212] = !B[212];
	B[1902] = !B[17];
	B[213] = B[49] & B[1902];
	B[213] = !B[213];
	B[1903] = !B[16];
	B[214] = B[119] & B[1903];
	B[215] = B[48] & B[214];
	B[215] = !B[215];
	B[216] = B[213] & B[215];
	B[216] = !B[216];
	B[1904] = !B[108];
	B[217] = B[216] & B[1904];
	B[217] = !B[217];
	B[1905] = !B[19];
	B[218] = B[51] & B[1905];
	B[218] = !B[218];
	B[219] = B[217] & B[218];
	B[1906] = !B[18];
	B[220] = B[107] & B[1906];
	B[221] = B[220] & B[50];
	B[221] = !B[221];
	B[222] = B[219] & B[221];
	B[222] = !B[222];
	B[1907] = !B[117];
	B[223] = B[222] & B[1907];
	B[223] = !B[223];
	B[224] = B[212] & B[223];
	B[225] = B[210] & B[224];
	B[225] = !B[225];
	B[226] = B[225] & B[105];
	B[226] = !B[226];
	B[227] = B[202] & B[226];
	B[228] = B[76] & B[227];
	B[228] = !B[228];
	B[229] = B[56] ^ B[24];
	B[230] = B[228] & B[229];
	B[231] = B[56] ^ B[230];
	B[232] = !B[231];
	B[233] = B[24] ^ B[56];
	B[234] = B[228] & B[233];
	B[235] = B[24] ^ B[234];
	B[236] = B[232] ^ B[235];
	B[237] = B[208] ^ B[114];
	B[238] = B[228] & B[237];
	B[239] = B[208] ^ B[238];
	B[240] = !B[239];
	B[241] = B[114] ^ B[208];
	B[242] = B[228] & B[241];
	B[243] = B[114] ^ B[242];
	B[244] = B[240] | B[243];
	B[245] = B[244] ^ B[236];
	B[246] = B[244] ^ B[235];
	B[247] = B[236] & B[246];
	B[248] = B[235] ^ B[247];
	B[249] = B[79] ^ B[77];
	B[250] = B[228] & B[249];
	B[251] = B[79] ^ B[250];
	B[252] = B[77] ^ B[79];
	B[253] = B[228] & B[252];
	B[254] = B[77] ^ B[253];
	B[255] = !B[254];
	B[256] = B[251] ^ B[255];
	B[257] = B[248] ^ B[256];
	B[258] = B[248] ^ B[255];
	B[259] = B[256] & B[258];
	B[260] = B[255] ^ B[259];
	B[261] = B[84] ^ B[93];
	B[262] = B[228] & B[261];
	B[263] = B[84] ^ B[262];
	B[264] = B[93] ^ B[84];
	B[265] = B[228] & B[264];
	B[266] = B[93] ^ B[265];
	B[267] = !B[266];
	B[268] = B[263] ^ B[267];
	B[269] = B[260] ^ B[268];
	B[270] = B[260] ^ B[267];
	B[271] = B[268] & B[270];
	B[272] = B[267] ^ B[271];
	B[273] = B[86] ^ B[90];
	B[274] = B[228] & B[273];
	B[275] = B[86] ^ B[274];
	B[276] = B[90] ^ B[86];
	B[277] = B[228] & B[276];
	B[278] = B[90] ^ B[277];
	B[279] = !B[278];
	B[280] = B[275] ^ B[279];
	B[281] = B[272] ^ B[280];
	B[282] = B[272] ^ B[279];
	B[283] = B[280] & B[282];
	B[284] = B[279] ^ B[283];
	B[285] = B[98] ^ B[70];
	B[286] = B[228] & B[285];
	B[287] = B[98] ^ B[286];
	B[288] = B[70] ^ B[98];
	B[289] = B[228] & B[288];
	B[290] = B[70] ^ B[289];
	B[291] = !B[290];
	B[292] = B[287] ^ B[291];
	B[293] = B[284] ^ B[292];
	B[294] = B[284] ^ B[291];
	B[295] = B[292] & B[294];
	B[296] = B[291] ^ B[295];
	B[297] = B[68] ^ B[66];
	B[298] = B[228] & B[297];
	B[299] = B[68] ^ B[298];
	B[300] = B[66] ^ B[68];
	B[301] = B[228] & B[300];
	B[302] = B[66] ^ B[301];
	B[303] = !B[302];
	B[304] = B[299] ^ B[303];
	B[305] = B[296] ^ B[304];
	B[306] = B[296] ^ B[303];
	B[307] = B[304] & B[306];
	B[308] = B[303] ^ B[307];
	B[309] = !B[62];
	B[310] = B[309] ^ B[64];
	B[311] = B[228] & B[310];
	B[312] = B[309] ^ B[311];
	B[313] = B[309] & B[64];
	B[313] = !B[313];
	B[314] = B[312] ^ B[313];
	B[315] = B[308] ^ B[314];
	B[316] = B[31] ^ B[63];
	B[317] = B[228] & B[316];
	B[318] = B[31] ^ B[317];
	B[319] = B[318] ^ B[63];
	B[319] = !B[319];
	B[320] = B[318] ^ B[31];
	B[320] = !B[320];
	B[321] = B[319] & B[320];
	B[322] = !B[228];
	B[323] = B[10] ^ B[42];
	B[324] = B[322] & B[323];
	B[325] = B[10] ^ B[324];
	B[326] = B[243] ^ B[240];
	B[326] = !B[326];
	B[327] = B[11] ^ B[43];
	B[328] = B[322] & B[327];
	B[329] = B[11] ^ B[328];
	B[330] = B[325] ^ B[329];
	B[331] = B[326] & B[330];
	B[332] = B[325] ^ B[331];
	B[333] = !B[245];
	B[334] = B[41] ^ B[9];
	B[335] = B[228] & B[334];
	B[336] = B[41] ^ B[335];
	B[337] = !B[326];
	B[338] = B[8] ^ B[40];
	B[339] = B[322] & B[338];
	B[340] = B[8] ^ B[339];
	B[341] = B[336] ^ B[340];
	B[342] = B[337] & B[341];
	B[343] = B[336] ^ B[342];
	B[344] = B[332] ^ B[343];
	B[345] = B[333] & B[344];
	B[346] = B[332] ^ B[345];
	B[347] = B[15] ^ B[47];
	B[348] = B[322] & B[347];
	B[349] = B[15] ^ B[348];
	B[350] = B[14] ^ B[46];
	B[351] = B[322] & B[350];
	B[352] = B[14] ^ B[351];
	B[353] = B[349] ^ B[352];
	B[354] = B[337] & B[353];
	B[355] = B[349] ^ B[354];
	B[356] = B[45] ^ B[13];
	B[357] = B[228] & B[356];
	B[358] = B[45] ^ B[357];
	B[359] = B[12] ^ B[44];
	B[360] = B[322] & B[359];
	B[361] = B[12] ^ B[360];
	B[362] = B[358] ^ B[361];
	B[363] = B[337] & B[362];
	B[364] = B[358] ^ B[363];
	B[365] = B[355] ^ B[364];
	B[366] = B[333] & B[365];
	B[367] = B[355] ^ B[366];
	B[368] = B[346] ^ B[367];
	B[369] = B[257] & B[368];
	B[370] = B[346] ^ B[369];
	B[371] = !B[269];
	B[372] = B[7] ^ B[39];
	B[373] = B[322] & B[372];
	B[374] = B[7] ^ B[373];
	B[375] = B[6] ^ B[38];
	B[376] = B[322] & B[375];
	B[377] = B[6] ^ B[376];
	B[378] = B[374] ^ B[377];
	B[379] = B[337] & B[378];
	B[380] = B[374] ^ B[379];
	B[381] = B[5] ^ B[37];
	B[382] = B[322] & B[381];
	B[383] = B[5] ^ B[382];
	B[384] = B[4] ^ B[36];
	B[385] = B[322] & B[384];
	B[386] = B[4] ^ B[385];
	B[387] = B[383] ^ B[386];
	B[388] = B[337] & B[387];
	B[389] = B[383] ^ B[388];
	B[390] = B[380] ^ B[389];
	B[391] = B[333] & B[390];
	B[392] = B[380] ^ B[391];
	B[393] = !B[257];
	B[394] = B[171] ^ B[184];
	B[395] = B[228] & B[394];
	B[396] = B[171] ^ B[395];
	B[397] = B[168] ^ B[169];
	B[398] = B[228] & B[397];
	B[399] = B[168] ^ B[398];
	B[400] = B[396] ^ B[399];
	B[401] = B[326] & B[400];
	B[402] = B[396] ^ B[401];
	B[403] = B[176] ^ B[174];
	B[404] = B[228] & B[403];
	B[405] = B[176] ^ B[404];
	B[406] = B[32] ^ B[0];
	B[407] = B[228] & B[406];
	B[408] = B[32] ^ B[407];
	B[409] = !B[408];
	B[410] = B[405] ^ B[409];
	B[411] = B[337] & B[410];
	B[412] = B[405] ^ B[411];
	B[413] = B[402] ^ B[412];
	B[414] = B[333] & B[413];
	B[415] = B[402] ^ B[414];
	B[416] = !B[415];
	B[417] = B[392] ^ B[416];
	B[418] = B[393] & B[417];
	B[419] = B[392] ^ B[418];
	B[420] = B[370] ^ B[419];
	B[421] = B[371] & B[420];
	B[422] = B[370] ^ B[421];
	B[423] = B[19] ^ B[51];
	B[424] = B[322] & B[423];
	B[425] = B[19] ^ B[424];
	B[426] = B[18] ^ B[50];
	B[427] = B[322] & B[426];
	B[428] = B[18] ^ B[427];
	B[429] = B[425] ^ B[428];
	B[430] = B[337] & B[429];
	B[431] = B[425] ^ B[430];
	B[432] = B[49] ^ B[17];
	B[433] = B[228] & B[432];
	B[434] = B[49] ^ B[433];
	B[435] = B[16] ^ B[48];
	B[436] = B[322] & B[435];
	B[437] = B[16] ^ B[436];
	B[438] = B[434] ^ B[437];
	B[439] = B[337] & B[438];
	B[440] = B[434] ^ B[439];
	B[441] = B[431] ^ B[440];
	B[442] = B[333] & B[441];
	B[443] = B[431] ^ B[442];
	B[444] = B[53] ^ B[21];
	B[445] = B[228] & B[444];
	B[446] = B[53] ^ B[445];
	B[447] = B[20] ^ B[52];
	B[448] = B[322] & B[447];
	B[449] = B[20] ^ B[448];
	B[450] = B[446] ^ B[449];
	B[451] = B[337] & B[450];
	B[452] = B[446] ^ B[451];
	B[453] = B[22] ^ B[54];
	B[454] = B[322] & B[453];
	B[455] = B[22] ^ B[454];
	B[456] = B[455] | B[326];
	B[457] = B[452] ^ B[456];
	B[458] = B[245] & B[457];
	B[459] = B[452] ^ B[458];
	B[460] = B[443] ^ B[459];
	B[461] = B[257] & B[460];
	B[462] = B[443] ^ B[461];
	B[1908] = !B[269];
	B[463] = B[462] & B[1908];
	B[464] = B[422] ^ B[463];
	B[465] = B[281] & B[464];
	B[466] = B[422] ^ B[465];
	B[467] = B[315] | B[305];
	B[467] = !B[467];
	B[1909] = !B[293];
	B[468] = B[467] & B[1909];
	B[469] = B[466] & B[468];
	B[470] = B[243] & B[263];
	B[471] = B[251] & B[287];
	B[472] = B[470] & B[471];
	B[473] = B[275] & B[312];
	B[474] = B[299] & B[232];
	B[475] = B[473] & B[474];
	B[476] = B[472] & B[475];
	B[476] = !B[476];
	B[477] = B[313] & B[279];
	B[478] = B[477] & B[235];
	B[479] = B[291] & B[303];
	B[480] = B[267] & B[255];
	B[481] = B[479] & B[480];
	B[482] = B[478] & B[481];
	B[1910] = !B[239];
	B[483] = B[482] & B[1910];
	B[483] = !B[483];
	B[484] = B[476] & B[483];
	B[485] = !B[321];
	B[1911] = !B[485];
	B[486] = B[484] & B[1911];
	B[486] = !B[486];
	B[487] = B[321] ^ B[486];
	B[488] = B[469] & B[487];
	B[489] = B[321] ^ B[488];
	B[490] = B[484] | B[321];
	B[491] = B[489] & B[490];
	B[491] = !B[491];
	B[492] = B[0] ^ B[32];
	B[493] = B[228] & B[492];
	B[494] = B[0] ^ B[493];
	B[495] = B[491] ^ B[494];
	B[496] = !B[281];
	B[1912] = !B[269];
	B[497] = B[393] & B[1912];
	B[1913] = !B[337];
	B[498] = B[245] & B[1913];
	B[498] = !B[498];
	B[499] = B[497] & B[498];
	B[499] = !B[499];
	B[1914] = !B[499];
	B[500] = B[496] & B[1914];
	B[500] = !B[500];
	B[501] = B[408] & B[500];
	B[501] = !B[501];
	B[502] = B[496] & B[333];
	B[1915] = !B[502];
	B[503] = B[329] & B[1915];
	B[503] = !B[503];
	B[1916] = !B[336];
	B[504] = B[503] & B[1916];
	B[504] = !B[504];
	B[505] = B[393] & B[496];
	B[505] = !B[505];
	B[506] = B[281] | B[269];
	B[506] = !B[506];
	B[507] = !B[506];
	B[508] = B[505] & B[507];
	B[509] = B[504] & B[508];
	B[509] = !B[509];
	B[510] = B[501] & B[509];
	B[1917] = !B[257];
	B[511] = B[506] & B[1917];
	B[511] = !B[511];
	B[1918] = !B[405];
	B[512] = B[511] & B[1918];
	B[512] = !B[512];
	B[513] = B[371] & B[498];
	B[513] = !B[513];
	B[1919] = !B[497];
	B[514] = B[513] & B[1919];
	B[514] = !B[514];
	B[515] = B[496] & B[514];
	B[515] = !B[515];
	B[516] = B[515] & B[386];
	B[516] = !B[516];
	B[517] = B[512] & B[516];
	B[518] = B[371] & B[333];
	B[1920] = !B[518];
	B[519] = B[425] & B[1920];
	B[519] = !B[519];
	B[1921] = !B[434];
	B[520] = B[519] & B[1921];
	B[520] = !B[520];
	B[1922] = !B[497];
	B[521] = B[281] & B[1922];
	B[522] = B[520] & B[521];
	B[522] = !B[522];
	B[523] = B[517] & B[522];
	B[524] = B[510] & B[523];
	B[525] = B[333] & B[393];
	B[1923] = !B[446];
	B[526] = B[525] & B[1923];
	B[526] = !B[526];
	B[527] = B[269] & B[526];
	B[527] = !B[527];
	B[1924] = !B[358];
	B[528] = B[527] & B[1924];
	B[529] = B[499] & B[437];
	B[529] = !B[529];
	B[1925] = !B[514];
	B[530] = B[449] & B[1925];
	B[530] = !B[530];
	B[531] = B[529] & B[530];
	B[532] = B[528] & B[531];
	B[532] = !B[532];
	B[533] = B[281] & B[532];
	B[533] = !B[533];
	B[534] = B[337] & B[333];
	B[535] = B[506] & B[534];
	B[535] = !B[535];
	B[536] = B[511] & B[535];
	B[1926] = !B[396];
	B[537] = B[536] & B[1926];
	B[537] = !B[537];
	B[538] = B[533] & B[537];
	B[539] = B[393] & B[502];
	B[539] = !B[539];
	B[540] = B[507] & B[539];
	B[540] = !B[540];
	B[1927] = !B[540];
	B[541] = B[374] & B[1927];
	B[541] = !B[541];
	B[542] = B[507] & B[383];
	B[542] = !B[542];
	B[543] = B[541] & B[542];
	B[544] = !B[399];
	B[545] = B[506] & B[333];
	B[545] = !B[545];
	B[546] = B[511] & B[545];
	B[547] = B[544] & B[546];
	B[547] = !B[547];
	B[548] = B[543] & B[547];
	B[549] = B[538] & B[548];
	B[550] = B[524] & B[549];
	B[551] = B[257] | B[326];
	B[551] = !B[551];
	B[552] = B[551] & B[502];
	B[552] = !B[552];
	B[553] = B[552] & B[507];
	B[554] = B[553] & B[377];
	B[554] = !B[554];
	B[555] = B[496] & B[551];
	B[555] = !B[555];
	B[556] = B[340] & B[555];
	B[1928] = !B[540];
	B[557] = B[556] & B[1928];
	B[557] = !B[557];
	B[558] = B[554] & B[557];
	B[559] = B[393] & B[518];
	B[559] = !B[559];
	B[560] = B[349] & B[559];
	B[561] = B[281] & B[560];
	B[561] = !B[561];
	B[562] = B[508] & B[361];
	B[563] = B[337] & B[496];
	B[563] = !B[563];
	B[1929] = !B[502];
	B[564] = B[563] & B[1929];
	B[565] = B[562] & B[564];
	B[565] = !B[565];
	B[566] = B[561] & B[565];
	B[567] = B[337] & B[502];
	B[567] = !B[567];
	B[568] = B[325] & B[567];
	B[569] = B[568] & B[508];
	B[569] = !B[569];
	B[570] = B[566] & B[569];
	B[571] = B[558] & B[570];
	B[572] = B[337] & B[518];
	B[572] = !B[572];
	B[573] = B[428] & B[572];
	B[574] = B[573] & B[521];
	B[574] = !B[574];
	B[575] = B[269] & B[281];
	B[1930] = !B[551];
	B[576] = B[455] & B[1930];
	B[577] = B[575] & B[576];
	B[577] = !B[577];
	B[578] = B[574] & B[577];
	B[579] = B[551] & B[518];
	B[579] = !B[579];
	B[580] = B[352] & B[579];
	B[581] = B[281] & B[580];
	B[581] = !B[581];
	B[582] = B[578] & B[581];
	B[583] = B[582] & B[468];
	B[584] = B[571] & B[583];
	B[585] = B[550] & B[584];
	B[585] = !B[585];
	B[586] = B[585] & B[484];
	B[586] = !B[586];
	B[587] = B[586] ^ B[321];
	B[588] = B[485] & B[587];
	B[589] = B[364] ^ B[332];
	B[590] = B[333] & B[589];
	B[591] = B[364] ^ B[590];
	B[592] = B[343] ^ B[380];
	B[593] = B[333] & B[592];
	B[594] = B[343] ^ B[593];
	B[595] = B[591] ^ B[594];
	B[596] = B[393] & B[595];
	B[597] = B[591] ^ B[596];
	B[598] = !B[402];
	B[599] = B[598] ^ B[389];
	B[600] = B[245] & B[599];
	B[601] = B[598] ^ B[600];
	B[1931] = !B[412];
	B[602] = B[245] & B[1931];
	B[603] = B[601] ^ B[602];
	B[604] = B[393] & B[603];
	B[605] = B[601] ^ B[604];
	B[606] = B[597] ^ B[605];
	B[607] = B[371] & B[606];
	B[608] = B[597] ^ B[607];
	B[609] = B[452] ^ B[431];
	B[610] = B[333] & B[609];
	B[611] = B[452] ^ B[610];
	B[612] = B[440] ^ B[355];
	B[613] = B[333] & B[612];
	B[614] = B[440] ^ B[613];
	B[615] = B[611] ^ B[614];
	B[616] = B[393] & B[615];
	B[617] = B[611] ^ B[616];
	B[618] = B[456] & B[333];
	B[1932] = !B[257];
	B[619] = B[618] & B[1932];
	B[620] = B[617] ^ B[619];
	B[621] = B[269] & B[620];
	B[622] = B[617] ^ B[621];
	B[623] = B[608] ^ B[622];
	B[624] = B[281] & B[623];
	B[625] = B[608] ^ B[624];
	B[626] = B[625] & B[468];
	B[627] = B[321] ^ B[486];
	B[628] = B[626] & B[627];
	B[629] = B[321] ^ B[628];
	B[630] = B[629] & B[490];
	B[630] = !B[630];
	B[631] = B[588] & B[630];
	B[632] = B[336] ^ B[325];
	B[633] = B[326] & B[632];
	B[634] = B[336] ^ B[633];
	B[635] = B[340] ^ B[374];
	B[636] = B[337] & B[635];
	B[637] = B[340] ^ B[636];
	B[638] = B[634] ^ B[637];
	B[639] = B[333] & B[638];
	B[640] = B[634] ^ B[639];
	B[641] = B[358] ^ B[352];
	B[642] = B[326] & B[641];
	B[643] = B[358] ^ B[642];
	B[644] = B[329] ^ B[361];
	B[645] = B[326] & B[644];
	B[646] = B[329] ^ B[645];
	B[647] = B[643] ^ B[646];
	B[648] = B[333] & B[647];
	B[649] = B[643] ^ B[648];
	B[650] = B[640] ^ B[649];
	B[651] = B[257] & B[650];
	B[652] = B[640] ^ B[651];
	B[653] = B[396] ^ B[405];
	B[654] = B[337] & B[653];
	B[655] = B[396] ^ B[654];
	B[656] = !B[655];
	B[657] = B[326] & B[408];
	B[658] = B[656] ^ B[657];
	B[659] = B[333] & B[658];
	B[660] = B[656] ^ B[659];
	B[661] = B[377] ^ B[383];
	B[662] = B[337] & B[661];
	B[663] = B[377] ^ B[662];
	B[664] = B[386] ^ B[544];
	B[665] = B[337] & B[664];
	B[666] = B[386] ^ B[665];
	B[667] = B[663] ^ B[666];
	B[668] = B[333] & B[667];
	B[669] = B[663] ^ B[668];
	B[670] = B[660] ^ B[669];
	B[671] = B[257] & B[670];
	B[672] = B[660] ^ B[671];
	B[673] = B[652] ^ B[672];
	B[674] = B[371] & B[673];
	B[675] = B[652] ^ B[674];
	B[676] = B[455] ^ B[446];
	B[677] = B[337] & B[676];
	B[678] = B[455] ^ B[677];
	B[679] = B[425] ^ B[449];
	B[680] = B[326] & B[679];
	B[681] = B[425] ^ B[680];
	B[682] = B[678] ^ B[681];
	B[683] = B[333] & B[682];
	B[684] = B[678] ^ B[683];
	B[685] = B[428] ^ B[434];
	B[686] = B[337] & B[685];
	B[687] = B[428] ^ B[686];
	B[688] = B[437] ^ B[349];
	B[689] = B[337] & B[688];
	B[690] = B[437] ^ B[689];
	B[691] = B[687] ^ B[690];
	B[692] = B[333] & B[691];
	B[693] = B[687] ^ B[692];
	B[694] = B[684] ^ B[693];
	B[695] = B[393] & B[694];
	B[696] = B[684] ^ B[695];
	B[697] = B[337] & B[333];
	B[697] = !B[697];
	B[698] = B[257] | B[697];
	B[698] = !B[698];
	B[699] = B[696] ^ B[698];
	B[700] = B[269] & B[699];
	B[701] = B[696] ^ B[700];
	B[702] = B[675] ^ B[701];
	B[703] = B[281] & B[702];
	B[704] = B[675] ^ B[703];
	B[705] = B[704] & B[468];
	B[706] = B[321] ^ B[486];
	B[707] = B[705] & B[706];
	B[708] = B[321] ^ B[707];
	B[709] = B[708] & B[490];
	B[709] = !B[709];
	B[710] = B[631] & B[709];
	B[711] = B[710] ^ B[495];
	B[712] = B[710] ^ B[494];
	B[713] = B[495] & B[712];
	B[714] = B[494] ^ B[713];
	B[715] = B[646] ^ B[634];
	B[716] = B[333] & B[715];
	B[717] = B[646] ^ B[716];
	B[718] = B[690] ^ B[643];
	B[719] = B[333] & B[718];
	B[720] = B[690] ^ B[719];
	B[721] = B[717] ^ B[720];
	B[722] = B[257] & B[721];
	B[723] = B[717] ^ B[722];
	B[724] = B[637] ^ B[663];
	B[725] = B[333] & B[724];
	B[726] = B[637] ^ B[725];
	B[727] = B[656] ^ B[666];
	B[728] = B[245] & B[727];
	B[729] = B[656] ^ B[728];
	B[730] = B[726] ^ B[729];
	B[731] = B[393] & B[730];
	B[732] = B[726] ^ B[731];
	B[733] = B[723] ^ B[732];
	B[734] = B[371] & B[733];
	B[735] = B[723] ^ B[734];
	B[736] = B[337] ^ B[678];
	B[737] = B[333] & B[736];
	B[738] = B[337] ^ B[737];
	B[739] = B[681] ^ B[687];
	B[740] = B[333] & B[739];
	B[741] = B[681] ^ B[740];
	B[742] = B[738] ^ B[741];
	B[743] = B[393] & B[742];
	B[744] = B[738] ^ B[743];
	B[1933] = !B[269];
	B[745] = B[744] & B[1933];
	B[746] = B[735] ^ B[745];
	B[747] = B[281] & B[746];
	B[748] = B[735] ^ B[747];
	B[749] = B[748] & B[468];
	B[750] = B[321] ^ B[486];
	B[751] = B[749] & B[750];
	B[752] = B[321] ^ B[751];
	B[753] = B[752] & B[490];
	B[753] = !B[753];
	B[754] = B[33] ^ B[1];
	B[755] = B[322] & B[754];
	B[756] = B[33] ^ B[755];
	B[757] = B[753] ^ B[756];
	B[758] = B[714] ^ B[757];
	B[759] = B[714] ^ B[756];
	B[760] = B[757] & B[759];
	B[761] = B[756] ^ B[760];
	B[762] = B[591] ^ B[614];
	B[763] = B[257] & B[762];
	B[764] = B[591] ^ B[763];
	B[765] = B[601] ^ B[594];
	B[766] = B[257] & B[765];
	B[767] = B[601] ^ B[766];
	B[768] = B[764] ^ B[767];
	B[769] = B[371] & B[768];
	B[770] = B[764] ^ B[769];
	B[771] = B[611] ^ B[618];
	B[772] = B[257] & B[771];
	B[773] = B[611] ^ B[772];
	B[1934] = !B[269];
	B[774] = B[773] & B[1934];
	B[775] = B[770] ^ B[774];
	B[776] = B[281] & B[775];
	B[777] = B[770] ^ B[776];
	B[778] = B[777] & B[468];
	B[779] = B[321] ^ B[486];
	B[780] = B[778] & B[779];
	B[781] = B[321] ^ B[780];
	B[782] = B[781] & B[490];
	B[782] = !B[782];
	B[783] = B[34] ^ B[2];
	B[784] = B[322] & B[783];
	B[785] = B[34] ^ B[784];
	B[786] = B[782] ^ B[785];
	B[787] = B[761] ^ B[786];
	B[788] = B[761] ^ B[785];
	B[789] = B[786] & B[788];
	B[790] = B[785] ^ B[789];
	B[791] = !B[684];
	B[792] = B[697] ^ B[791];
	B[793] = B[393] & B[792];
	B[794] = B[697] ^ B[793];
	B[795] = B[794] | B[269];
	B[796] = B[693] ^ B[649];
	B[797] = B[393] & B[796];
	B[798] = B[693] ^ B[797];
	B[799] = B[669] ^ B[640];
	B[800] = B[257] & B[799];
	B[801] = B[669] ^ B[800];
	B[802] = B[798] ^ B[801];
	B[803] = B[371] & B[802];
	B[804] = B[798] ^ B[803];
	B[805] = !B[804];
	B[806] = B[795] ^ B[805];
	B[807] = B[496] & B[806];
	B[808] = B[795] ^ B[807];
	B[1935] = !B[808];
	B[809] = B[468] & B[1935];
	B[810] = B[321] ^ B[486];
	B[811] = B[809] & B[810];
	B[812] = B[321] ^ B[811];
	B[813] = B[812] & B[490];
	B[813] = !B[813];
	B[814] = B[35] ^ B[3];
	B[815] = B[322] & B[814];
	B[816] = B[35] ^ B[815];
	B[817] = B[813] ^ B[816];
	B[818] = B[790] ^ B[817];
	B[819] = B[790] ^ B[816];
	B[820] = B[817] & B[819];
	B[821] = B[816] ^ B[820];
	B[822] = B[367] ^ B[443];
	B[823] = B[257] & B[822];
	B[824] = B[367] ^ B[823];
	B[825] = B[392] ^ B[346];
	B[826] = B[257] & B[825];
	B[827] = B[392] ^ B[826];
	B[828] = B[824] ^ B[827];
	B[829] = B[371] & B[828];
	B[830] = B[824] ^ B[829];
	B[831] = B[459] & B[393];
	B[1936] = !B[269];
	B[832] = B[831] & B[1936];
	B[833] = B[830] ^ B[832];
	B[834] = B[281] & B[833];
	B[835] = B[830] ^ B[834];
	B[836] = B[835] & B[468];
	B[837] = B[321] ^ B[486];
	B[838] = B[836] & B[837];
	B[839] = B[321] ^ B[838];
	B[840] = B[839] & B[490];
	B[840] = !B[840];
	B[841] = B[36] ^ B[4];
	B[842] = B[322] & B[841];
	B[843] = B[36] ^ B[842];
	B[844] = B[840] ^ B[843];
	B[845] = B[821] ^ B[844];
	B[846] = B[821] ^ B[843];
	B[847] = B[844] & B[846];
	B[848] = B[843] ^ B[847];
	B[849] = B[720] ^ B[741];
	B[850] = B[257] & B[849];
	B[851] = B[720] ^ B[850];
	B[852] = B[726] ^ B[717];
	B[853] = B[257] & B[852];
	B[854] = B[726] ^ B[853];
	B[855] = B[851] ^ B[854];
	B[856] = B[371] & B[855];
	B[857] = B[851] ^ B[856];
	B[1937] = !B[257];
	B[858] = B[738] & B[1937];
	B[1938] = !B[269];
	B[859] = B[858] & B[1938];
	B[860] = B[857] ^ B[859];
	B[861] = B[281] & B[860];
	B[862] = B[857] ^ B[861];
	B[863] = B[862] & B[468];
	B[864] = B[321] ^ B[486];
	B[865] = B[863] & B[864];
	B[866] = B[321] ^ B[865];
	B[867] = B[866] & B[490];
	B[867] = !B[867];
	B[868] = B[37] ^ B[5];
	B[869] = B[322] & B[868];
	B[870] = B[37] ^ B[869];
	B[871] = B[867] ^ B[870];
	B[872] = B[848] ^ B[871];
	B[873] = B[848] ^ B[870];
	B[874] = B[871] & B[873];
	B[875] = B[870] ^ B[874];
	B[876] = B[371] & B[619];
	B[876] = !B[876];
	B[877] = B[597] ^ B[617];
	B[878] = B[269] & B[877];
	B[879] = B[597] ^ B[878];
	B[880] = !B[879];
	B[881] = B[876] ^ B[880];
	B[882] = B[496] & B[881];
	B[883] = B[876] ^ B[882];
	B[1939] = !B[883];
	B[884] = B[468] & B[1939];
	B[885] = B[321] ^ B[486];
	B[886] = B[884] & B[885];
	B[887] = B[321] ^ B[886];
	B[888] = B[887] & B[490];
	B[888] = !B[888];
	B[889] = B[38] ^ B[6];
	B[890] = B[322] & B[889];
	B[891] = B[38] ^ B[890];
	B[892] = B[888] ^ B[891];
	B[893] = B[875] ^ B[892];
	B[894] = B[875] ^ B[891];
	B[895] = B[892] & B[894];
	B[896] = B[891] ^ B[895];
	B[897] = B[696] ^ B[652];
	B[898] = B[371] & B[897];
	B[899] = B[696] ^ B[898];
	B[900] = B[698] & B[371];
	B[901] = B[899] ^ B[900];
	B[902] = B[281] & B[901];
	B[903] = B[899] ^ B[902];
	B[904] = B[903] & B[468];
	B[905] = B[321] ^ B[486];
	B[906] = B[904] & B[905];
	B[907] = B[321] ^ B[906];
	B[908] = B[907] & B[490];
	B[908] = !B[908];
	B[909] = B[39] ^ B[7];
	B[910] = B[322] & B[909];
	B[911] = B[39] ^ B[910];
	B[912] = B[908] ^ B[911];
	B[913] = B[896] ^ B[912];
	B[914] = B[896] ^ B[911];
	B[915] = B[912] & B[914];
	B[916] = B[911] ^ B[915];
	B[917] = B[462] ^ B[370];
	B[918] = B[371] & B[917];
	B[919] = B[462] ^ B[918];
	B[920] = B[468] & B[496];
	B[921] = B[919] & B[920];
	B[922] = B[321] ^ B[486];
	B[923] = B[921] & B[922];
	B[924] = B[321] ^ B[923];
	B[925] = B[924] & B[490];
	B[925] = !B[925];
	B[926] = B[40] ^ B[8];
	B[927] = B[322] & B[926];
	B[928] = B[40] ^ B[927];
	B[929] = B[925] ^ B[928];
	B[930] = B[916] ^ B[929];
	B[931] = B[916] ^ B[928];
	B[932] = B[929] & B[931];
	B[933] = B[928] ^ B[932];
	B[934] = B[744] ^ B[723];
	B[935] = B[371] & B[934];
	B[936] = B[744] ^ B[935];
	B[937] = B[936] & B[920];
	B[938] = B[321] ^ B[486];
	B[939] = B[937] & B[938];
	B[940] = B[321] ^ B[939];
	B[941] = B[940] & B[490];
	B[941] = !B[941];
	B[942] = B[41] ^ B[9];
	B[943] = B[322] & B[942];
	B[944] = B[41] ^ B[943];
	B[945] = B[941] ^ B[944];
	B[946] = B[933] ^ B[945];
	B[947] = B[933] ^ B[944];
	B[948] = B[945] & B[947];
	B[949] = B[944] ^ B[948];
	B[950] = B[773] ^ B[764];
	B[951] = B[371] & B[950];
	B[952] = B[773] ^ B[951];
	B[953] = B[952] & B[920];
	B[954] = B[321] ^ B[486];
	B[955] = B[953] & B[954];
	B[956] = B[321] ^ B[955];
	B[957] = B[956] & B[490];
	B[957] = !B[957];
	B[958] = B[10] ^ B[42];
	B[959] = B[228] & B[958];
	B[960] = B[10] ^ B[959];
	B[961] = B[957] ^ B[960];
	B[962] = B[949] ^ B[961];
	B[963] = B[949] ^ B[960];
	B[964] = B[961] & B[963];
	B[965] = B[960] ^ B[964];
	B[966] = !B[798];
	B[967] = B[966] ^ B[794];
	B[968] = B[269] & B[967];
	B[969] = B[966] ^ B[968];
	B[1940] = !B[969];
	B[970] = B[920] & B[1940];
	B[971] = B[321] ^ B[486];
	B[972] = B[970] & B[971];
	B[973] = B[321] ^ B[972];
	B[974] = B[973] & B[490];
	B[974] = !B[974];
	B[975] = B[11] ^ B[43];
	B[976] = B[228] & B[975];
	B[977] = B[11] ^ B[976];
	B[978] = B[974] ^ B[977];
	B[979] = B[965] ^ B[978];
	B[980] = B[965] ^ B[977];
	B[981] = B[978] & B[980];
	B[982] = B[977] ^ B[981];
	B[983] = B[824] ^ B[831];
	B[984] = B[269] & B[983];
	B[985] = B[824] ^ B[984];
	B[986] = B[920] & B[985];
	B[987] = B[321] ^ B[486];
	B[988] = B[986] & B[987];
	B[989] = B[321] ^ B[988];
	B[990] = B[989] & B[490];
	B[990] = !B[990];
	B[991] = B[12] ^ B[44];
	B[992] = B[228] & B[991];
	B[993] = B[12] ^ B[992];
	B[994] = B[990] ^ B[993];
	B[995] = B[982] ^ B[994];
	B[996] = B[982] ^ B[993];
	B[997] = B[994] & B[996];
	B[998] = B[993] ^ B[997];
	B[999] = B[858] ^ B[851];
	B[1000] = B[371] & B[999];
	B[1001] = B[858] ^ B[1000];
	B[1002] = B[1001] & B[920];
	B[1003] = B[321] ^ B[486];
	B[1004] = B[1002] & B[1003];
	B[1005] = B[321] ^ B[1004];
	B[1006] = B[1005] & B[490];
	B[1006] = !B[1006];
	B[1007] = B[13] ^ B[45];
	B[1008] = B[228] & B[1007];
	B[1009] = B[13] ^ B[1008];
	B[1010] = B[1006] ^ B[1009];
	B[1011] = B[998] ^ B[1010];
	B[1012] = B[998] ^ B[1009];
	B[1013] = B[1010] & B[1012];
	B[1014] = B[1009] ^ B[1013];
	B[1015] = B[622] & B[496];
	B[1016] = B[1015] & B[468];
	B[1017] = B[321] ^ B[486];
	B[1018] = B[1016] & B[1017];
	B[1019] = B[321] ^ B[1018];
	B[1020] = B[1019] & B[490];
	B[1020] = !B[1020];
	B[1021] = B[14] ^ B[46];
	B[1022] = B[228] & B[1021];
	B[1023] = B[14] ^ B[1022];
	B[1024] = B[1020] ^ B[1023];
	B[1025] = B[1014] ^ B[1024];
	B[1026] = B[1014] ^ B[1023];
	B[1027] = B[1024] & B[1026];
	B[1028] = B[1023] ^ B[1027];
	B[1029] = B[496] & B[468];
	B[1030] = B[1029] & B[701];
	B[1031] = B[321] ^ B[486];
	B[1032] = B[1030] & B[1031];
	B[1033] = B[321] ^ B[1032];
	B[1034] = B[1033] & B[490];
	B[1034] = !B[1034];
	B[1035] = B[47] ^ B[15];
	B[1036] = B[322] & B[1035];
	B[1037] = B[47] ^ B[1036];
	B[1038] = B[1034] ^ B[1037];
	B[1039] = B[1028] ^ B[1038];
	B[1040] = B[1028] ^ B[1037];
	B[1041] = B[1038] & B[1040];
	B[1042] = B[1037] ^ B[1041];
	B[1043] = B[920] & B[463];
	B[1044] = B[321] ^ B[486];
	B[1045] = B[1043] & B[1044];
	B[1046] = B[321] ^ B[1045];
	B[1047] = B[1046] & B[490];
	B[1047] = !B[1047];
	B[1048] = B[48] ^ B[16];
	B[1049] = B[322] & B[1048];
	B[1050] = B[48] ^ B[1049];
	B[1051] = B[1047] ^ B[1050];
	B[1052] = B[1042] ^ B[1051];
	B[1053] = B[1042] ^ B[1050];
	B[1054] = B[1051] & B[1053];
	B[1055] = B[1050] ^ B[1054];
	B[1056] = B[920] & B[745];
	B[1057] = B[321] ^ B[486];
	B[1058] = B[1056] & B[1057];
	B[1059] = B[321] ^ B[1058];
	B[1060] = B[1059] & B[490];
	B[1060] = !B[1060];
	B[1061] = B[49] ^ B[17];
	B[1062] = B[322] & B[1061];
	B[1063] = B[49] ^ B[1062];
	B[1064] = B[1060] ^ B[1063];
	B[1065] = B[1055] ^ B[1064];
	B[1066] = B[1055] ^ B[1063];
	B[1067] = B[1064] & B[1066];
	B[1068] = B[1063] ^ B[1067];
	B[1069] = B[920] & B[774];
	B[1070] = B[321] ^ B[486];
	B[1071] = B[1069] & B[1070];
	B[1072] = B[321] ^ B[1071];
	B[1073] = B[1072] & B[490];
	B[1073] = !B[1073];
	B[1074] = B[50] ^ B[18];
	B[1075] = B[322] & B[1074];
	B[1076] = B[50] ^ B[1075];
	B[1077] = B[1073] ^ B[1076];
	B[1078] = B[1068] ^ B[1077];
	B[1079] = B[1068] ^ B[1076];
	B[1080] = B[1077] & B[1079];
	B[1081] = B[1076] ^ B[1080];
	B[1941] = !B[795];
	B[1082] = B[920] & B[1941];
	B[1083] = B[321] ^ B[486];
	B[1084] = B[1082] & B[1083];
	B[1085] = B[321] ^ B[1084];
	B[1086] = B[1085] & B[490];
	B[1086] = !B[1086];
	B[1087] = B[51] ^ B[19];
	B[1088] = B[322] & B[1087];
	B[1089] = B[51] ^ B[1088];
	B[1090] = B[1086] ^ B[1089];
	B[1091] = B[1081] ^ B[1090];
	B[1092] = B[1081] ^ B[1089];
	B[1093] = B[1090] & B[1092];
	B[1094] = B[1089] ^ B[1093];
	B[1095] = B[920] & B[832];
	B[1096] = B[321] ^ B[486];
	B[1097] = B[1095] & B[1096];
	B[1098] = B[321] ^ B[1097];
	B[1099] = B[1098] & B[490];
	B[1099] = !B[1099];
	B[1100] = B[52] ^ B[20];
	B[1101] = B[322] & B[1100];
	B[1102] = B[52] ^ B[1101];
	B[1103] = B[1099] ^ B[1102];
	B[1104] = B[1094] ^ B[1103];
	B[1105] = B[1094] ^ B[1102];
	B[1106] = B[1103] & B[1105];
	B[1107] = B[1102] ^ B[1106];
	B[1108] = B[920] & B[859];
	B[1109] = B[321] ^ B[486];
	B[1110] = B[1108] & B[1109];
	B[1111] = B[321] ^ B[1110];
	B[1112] = B[1111] & B[490];
	B[1112] = !B[1112];
	B[1113] = B[53] ^ B[21];
	B[1114] = B[322] & B[1113];
	B[1115] = B[53] ^ B[1114];
	B[1116] = B[1112] ^ B[1115];
	B[1117] = B[1107] ^ B[1116];
	B[1118] = B[1107] ^ B[1115];
	B[1119] = B[1116] & B[1118];
	B[1120] = B[1115] ^ B[1119];
	B[1942] = !B[876];
	B[1121] = B[920] & B[1942];
	B[1122] = B[321] ^ B[486];
	B[1123] = B[1121] & B[1122];
	B[1124] = B[321] ^ B[1123];
	B[1125] = B[1124] & B[490];
	B[1125] = !B[1125];
	B[1126] = B[54] ^ B[22];
	B[1127] = B[322] & B[1126];
	B[1128] = B[54] ^ B[1127];
	B[1129] = B[1125] ^ B[1128];
	B[1130] = B[1120] ^ B[1129];
	B[1131] = B[1120] ^ B[1128];
	B[1132] = B[1129] & B[1131];
	B[1133] = B[1128] ^ B[1132];
	B[1134] = !B[1011];
	B[1943] = !B[1025];
	B[1135] = B[1134] & B[1943];
	B[1136] = !B[1039];
	B[1137] = !B[1052];
	B[1138] = B[1136] & B[1137];
	B[1139] = B[1135] & B[1138];
	B[1140] = B[995] | B[979];
	B[1141] = B[946] | B[962];
	B[1142] = B[1140] | B[1141];
	B[1944] = !B[1142];
	B[1143] = B[1139] & B[1944];
	B[1144] = !B[1091];
	B[1945] = !B[1104];
	B[1145] = B[1144] & B[1945];
	B[1146] = B[920] & B[900];
	B[1147] = B[321] ^ B[486];
	B[1148] = B[1146] & B[1147];
	B[1149] = B[321] ^ B[1148];
	B[1150] = B[1149] & B[490];
	B[1150] = !B[1150];
	B[1151] = B[1150] ^ B[1133];
	B[1151] = !B[1151];
	B[1152] = !B[1151];
	B[1153] = B[1133] | B[1150];
	B[1154] = B[485] ^ B[1153];
	B[1946] = !B[1154];
	B[1155] = B[1152] & B[1946];
	B[1155] = !B[1155];
	B[1947] = !B[1155];
	B[1156] = B[1145] & B[1947];
	B[1157] = !B[1078];
	B[1158] = !B[1065];
	B[1159] = B[1157] & B[1158];
	B[1159] = !B[1159];
	B[1948] = !B[1159];
	B[1160] = B[1156] & B[1948];
	B[1161] = !B[1117];
	B[1949] = !B[1130];
	B[1162] = B[1161] & B[1949];
	B[1163] = B[1160] & B[1162];
	B[1163] = !B[1163];
	B[1950] = !B[1163];
	B[1164] = B[1143] & B[1950];
	B[1164] = !B[1164];
	B[1165] = B[758] | B[787];
	B[1165] = !B[1165];
	B[1166] = B[818] | B[845];
	B[1166] = !B[1166];
	B[1167] = B[1165] & B[1166];
	B[1168] = B[930] | B[913];
	B[1168] = !B[1168];
	B[1169] = B[872] | B[893];
	B[1169] = !B[1169];
	B[1170] = B[1168] & B[1169];
	B[1170] = !B[1170];
	B[1951] = !B[1170];
	B[1171] = B[1167] & B[1951];
	B[1171] = !B[1171];
	B[1952] = !B[1142];
	B[1172] = B[1171] & B[1952];
	B[1173] = B[1172] & B[1139];
	B[1173] = !B[1173];
	B[1953] = !B[1163];
	B[1174] = B[1173] & B[1953];
	B[1175] = !B[1174];
	B[1176] = B[630] ^ B[588];
	B[1177] = !B[1130];
	B[1178] = !B[1104];
	B[1179] = !B[1025];
	B[1180] = B[709] ^ B[631];
	B[1954] = !B[1180];
	B[1181] = B[1176] & B[1954];
	B[1181] = !B[1181];
	B[1955] = !B[711];
	B[1182] = B[1181] & B[1955];
	B[1182] = !B[1182];
	B[1956] = !B[758];
	B[1183] = B[1182] & B[1956];
	B[1183] = !B[1183];
	B[1957] = !B[787];
	B[1184] = B[1183] & B[1957];
	B[1184] = !B[1184];
	B[1958] = !B[818];
	B[1185] = B[1184] & B[1958];
	B[1185] = !B[1185];
	B[1959] = !B[845];
	B[1186] = B[1185] & B[1959];
	B[1186] = !B[1186];
	B[1960] = !B[872];
	B[1187] = B[1186] & B[1960];
	B[1187] = !B[1187];
	B[1961] = !B[893];
	B[1188] = B[1187] & B[1961];
	B[1188] = !B[1188];
	B[1962] = !B[913];
	B[1189] = B[1188] & B[1962];
	B[1189] = !B[1189];
	B[1963] = !B[930];
	B[1190] = B[1189] & B[1963];
	B[1190] = !B[1190];
	B[1964] = !B[946];
	B[1191] = B[1190] & B[1964];
	B[1191] = !B[1191];
	B[1965] = !B[962];
	B[1192] = B[1191] & B[1965];
	B[1192] = !B[1192];
	B[1966] = !B[979];
	B[1193] = B[1192] & B[1966];
	B[1193] = !B[1193];
	B[1967] = !B[995];
	B[1194] = B[1193] & B[1967];
	B[1194] = !B[1194];
	B[1195] = B[1134] & B[1194];
	B[1195] = !B[1195];
	B[1196] = B[1179] & B[1195];
	B[1196] = !B[1196];
	B[1197] = B[1136] & B[1196];
	B[1197] = !B[1197];
	B[1198] = B[1137] & B[1197];
	B[1198] = !B[1198];
	B[1199] = B[1158] & B[1198];
	B[1199] = !B[1199];
	B[1200] = B[1157] & B[1199];
	B[1200] = !B[1200];
	B[1201] = B[1144] & B[1200];
	B[1201] = !B[1201];
	B[1202] = B[1178] & B[1201];
	B[1202] = !B[1202];
	B[1203] = B[1161] & B[1202];
	B[1203] = !B[1203];
	B[1204] = B[1177] & B[1203];
	B[1204] = !B[1204];
	B[1205] = B[1152] & B[1204];
	B[1205] = !B[1205];
	B[1968] = !B[1154];
	B[1206] = B[1205] & B[1968];
	B[1206] = !B[1206];
	B[1207] = !B[1206];
	B[1969] = !B[1207];
	B[1208] = B[1176] & B[1969];
	B[1209] = B[1162] | B[1155];
	B[1210] = B[711] | B[1180];
	B[1211] = B[1210] & B[1165];
	B[1211] = !B[1211];
	B[1212] = B[1211] & B[1166];
	B[1212] = !B[1212];
	B[1213] = B[1169] & B[1212];
	B[1213] = !B[1213];
	B[1214] = B[1168] & B[1213];
	B[1214] = !B[1214];
	B[1970] = !B[1141];
	B[1215] = B[1214] & B[1970];
	B[1215] = !B[1215];
	B[1971] = !B[1140];
	B[1216] = B[1215] & B[1971];
	B[1216] = !B[1216];
	B[1217] = B[1216] & B[1135];
	B[1217] = !B[1217];
	B[1218] = B[1217] & B[1138];
	B[1218] = !B[1218];
	B[1972] = !B[1159];
	B[1219] = B[1218] & B[1972];
	B[1219] = !B[1219];
	B[1220] = B[1219] & B[1156];
	B[1220] = !B[1220];
	B[1221] = B[1209] & B[1220];
	B[1222] = B[1208] & B[1221];
	B[1223] = B[1167] | B[1170];
	B[1973] = !B[1142];
	B[1224] = B[1223] & B[1973];
	B[1224] = !B[1224];
	B[1225] = B[1224] & B[1139];
	B[1225] = !B[1225];
	B[1226] = B[1145] & B[1225];
	B[1974] = !B[1159];
	B[1227] = B[1226] & B[1974];
	B[1227] = !B[1227];
	B[1975] = !B[1155];
	B[1228] = B[1227] & B[1975];
	B[1229] = B[1162] & B[1228];
	B[1230] = !B[1229];
	B[1231] = B[711] ^ B[1180];
	B[1232] = B[1207] & B[1231];
	B[1233] = B[711] ^ B[1232];
	B[1234] = B[758] ^ B[787];
	B[1235] = B[1206] & B[1234];
	B[1236] = B[758] ^ B[1235];
	B[1237] = B[1233] ^ B[1236];
	B[1238] = B[1221] & B[1237];
	B[1239] = B[1233] ^ B[1238];
	B[1240] = B[1222] ^ B[1239];
	B[1241] = B[1230] & B[1240];
	B[1242] = B[1222] ^ B[1241];
	B[1243] = B[1175] & B[1242];
	B[1243] = !B[1243];
	B[1976] = !B[1243];
	B[1244] = B[1164] & B[1976];
	B[1245] = !B[1164];
	B[1246] = B[1176] ^ B[1180];
	B[1247] = B[1206] & B[1246];
	B[1248] = B[1176] ^ B[1247];
	B[1249] = B[758] ^ B[711];
	B[1250] = B[1207] & B[1249];
	B[1251] = B[758] ^ B[1250];
	B[1252] = B[1248] ^ B[1251];
	B[1253] = B[1221] & B[1252];
	B[1254] = B[1248] ^ B[1253];
	B[1255] = B[1230] & B[1254];
	B[1255] = !B[1255];
	B[1977] = !B[1255];
	B[1256] = B[1175] & B[1977];
	B[1256] = !B[1256];
	B[1257] = B[1245] | B[1256];
	B[1257] = !B[1257];
	B[1258] = B[1244] ^ B[1257];
	B[1259] = B[1244] & B[1257];
	B[1260] = B[787] ^ B[818];
	B[1261] = B[1206] & B[1260];
	B[1262] = B[787] ^ B[1261];
	B[1263] = !B[1221];
	B[1264] = B[1262] ^ B[1251];
	B[1265] = B[1263] & B[1264];
	B[1266] = B[1262] ^ B[1265];
	B[1978] = !B[1263];
	B[1267] = B[1248] & B[1978];
	B[1268] = B[1266] ^ B[1267];
	B[1269] = B[1229] & B[1268];
	B[1270] = B[1266] ^ B[1269];
	B[1271] = B[1175] & B[1270];
	B[1271] = !B[1271];
	B[1979] = !B[1271];
	B[1272] = B[1164] & B[1979];
	B[1273] = B[1272] ^ B[1259];
	B[1274] = B[1272] & B[1259];
	B[1275] = B[845] ^ B[818];
	B[1276] = B[1207] & B[1275];
	B[1277] = B[845] ^ B[1276];
	B[1278] = B[1277] ^ B[1236];
	B[1279] = B[1263] & B[1278];
	B[1280] = B[1277] ^ B[1279];
	B[1281] = B[1208] ^ B[1233];
	B[1282] = B[1221] & B[1281];
	B[1283] = B[1208] ^ B[1282];
	B[1284] = B[1280] ^ B[1283];
	B[1285] = B[1229] & B[1284];
	B[1286] = B[1280] ^ B[1285];
	B[1287] = B[1175] & B[1286];
	B[1287] = !B[1287];
	B[1980] = !B[1287];
	B[1288] = B[1164] & B[1980];
	B[1289] = B[1288] ^ B[1274];
	B[1290] = B[1288] & B[1274];
	B[1291] = B[845] ^ B[872];
	B[1292] = B[1206] & B[1291];
	B[1293] = B[845] ^ B[1292];
	B[1294] = B[1262] ^ B[1293];
	B[1295] = B[1221] & B[1294];
	B[1296] = B[1262] ^ B[1295];
	B[1297] = B[1296] ^ B[1254];
	B[1298] = B[1229] & B[1297];
	B[1299] = B[1296] ^ B[1298];
	B[1300] = B[1175] & B[1299];
	B[1300] = !B[1300];
	B[1981] = !B[1300];
	B[1301] = B[1164] & B[1981];
	B[1302] = B[1301] ^ B[1290];
	B[1303] = B[1301] & B[1290];
	B[1304] = B[1230] & B[1222];
	B[1304] = !B[1304];
	B[1305] = B[872] ^ B[893];
	B[1306] = B[1206] & B[1305];
	B[1307] = B[872] ^ B[1306];
	B[1308] = B[1307] ^ B[1277];
	B[1309] = B[1263] & B[1308];
	B[1310] = B[1307] ^ B[1309];
	B[1311] = B[1239] ^ B[1310];
	B[1312] = B[1230] & B[1311];
	B[1313] = B[1239] ^ B[1312];
	B[1314] = !B[1313];
	B[1315] = B[1304] ^ B[1314];
	B[1316] = B[1175] & B[1315];
	B[1317] = B[1304] ^ B[1316];
	B[1318] = B[1245] | B[1317];
	B[1318] = !B[1318];
	B[1319] = B[1318] ^ B[1303];
	B[1320] = B[1318] & B[1303];
	B[1321] = B[1230] & B[1267];
	B[1321] = !B[1321];
	B[1322] = B[893] ^ B[913];
	B[1323] = B[1206] & B[1322];
	B[1324] = B[893] ^ B[1323];
	B[1325] = B[1324] ^ B[1293];
	B[1326] = B[1263] & B[1325];
	B[1327] = B[1324] ^ B[1326];
	B[1328] = B[1266] ^ B[1327];
	B[1329] = B[1230] & B[1328];
	B[1330] = B[1266] ^ B[1329];
	B[1331] = !B[1330];
	B[1332] = B[1321] ^ B[1331];
	B[1333] = B[1175] & B[1332];
	B[1334] = B[1321] ^ B[1333];
	B[1335] = B[1245] | B[1334];
	B[1335] = !B[1335];
	B[1336] = B[1335] ^ B[1320];
	B[1337] = B[1335] & B[1320];
	B[1338] = B[913] ^ B[930];
	B[1339] = B[1206] & B[1338];
	B[1340] = B[913] ^ B[1339];
	B[1341] = B[1307] ^ B[1340];
	B[1342] = B[1221] & B[1341];
	B[1343] = B[1307] ^ B[1342];
	B[1344] = B[1280] ^ B[1343];
	B[1345] = B[1230] & B[1344];
	B[1346] = B[1280] ^ B[1345];
	B[1347] = B[1283] & B[1230];
	B[1348] = B[1346] ^ B[1347];
	B[1349] = B[1174] & B[1348];
	B[1350] = B[1346] ^ B[1349];
	B[1351] = B[1350] & B[1164];
	B[1352] = B[1351] ^ B[1337];
	B[1353] = B[1351] & B[1337];
	B[1354] = B[946] ^ B[930];
	B[1355] = B[1207] & B[1354];
	B[1356] = B[946] ^ B[1355];
	B[1357] = B[1356] ^ B[1324];
	B[1358] = B[1263] & B[1357];
	B[1359] = B[1356] ^ B[1358];
	B[1360] = B[1296] ^ B[1359];
	B[1361] = B[1230] & B[1360];
	B[1362] = B[1296] ^ B[1361];
	B[1363] = !B[1362];
	B[1364] = B[1255] ^ B[1363];
	B[1365] = B[1175] & B[1364];
	B[1366] = B[1255] ^ B[1365];
	B[1367] = !B[1366];
	B[1368] = B[1367] ^ B[1353];
	B[1369] = B[1367] & B[1353];
	B[1370] = B[946] ^ B[962];
	B[1371] = B[1206] & B[1370];
	B[1372] = B[946] ^ B[1371];
	B[1373] = B[1340] ^ B[1372];
	B[1374] = B[1221] & B[1373];
	B[1375] = B[1340] ^ B[1374];
	B[1376] = B[1310] ^ B[1375];
	B[1377] = B[1230] & B[1376];
	B[1378] = B[1310] ^ B[1377];
	B[1379] = B[1378] ^ B[1242];
	B[1380] = B[1174] & B[1379];
	B[1381] = B[1378] ^ B[1380];
	B[1382] = B[1381] ^ B[1369];
	B[1383] = B[1381] & B[1369];
	B[1384] = B[962] ^ B[979];
	B[1385] = B[1206] & B[1384];
	B[1386] = B[962] ^ B[1385];
	B[1387] = B[1386] ^ B[1356];
	B[1388] = B[1263] & B[1387];
	B[1389] = B[1386] ^ B[1388];
	B[1390] = B[1389] ^ B[1327];
	B[1391] = B[1229] & B[1390];
	B[1392] = B[1389] ^ B[1391];
	B[1393] = B[1270] ^ B[1392];
	B[1394] = B[1175] & B[1393];
	B[1395] = B[1270] ^ B[1394];
	B[1396] = B[1395] ^ B[1383];
	B[1397] = B[1395] & B[1383];
	B[1398] = B[979] ^ B[995];
	B[1399] = B[1206] & B[1398];
	B[1400] = B[979] ^ B[1399];
	B[1401] = B[1400] ^ B[1372];
	B[1402] = B[1263] & B[1401];
	B[1403] = B[1400] ^ B[1402];
	B[1404] = B[1343] ^ B[1403];
	B[1405] = B[1230] & B[1404];
	B[1406] = B[1343] ^ B[1405];
	B[1407] = B[1286] ^ B[1406];
	B[1408] = B[1175] & B[1407];
	B[1409] = B[1286] ^ B[1408];
	B[1410] = B[1409] ^ B[1397];
	B[1411] = B[1409] & B[1397];
	B[1412] = B[995] ^ B[1011];
	B[1413] = B[1206] & B[1412];
	B[1414] = B[995] ^ B[1413];
	B[1415] = B[1414] ^ B[1386];
	B[1416] = B[1263] & B[1415];
	B[1417] = B[1414] ^ B[1416];
	B[1418] = B[1417] ^ B[1359];
	B[1419] = B[1229] & B[1418];
	B[1420] = B[1417] ^ B[1419];
	B[1421] = B[1299] ^ B[1420];
	B[1422] = B[1175] & B[1421];
	B[1423] = B[1299] ^ B[1422];
	B[1424] = B[1423] ^ B[1411];
	B[1425] = B[1423] & B[1411];
	B[1426] = !B[1375];
	B[1427] = B[1134] ^ B[1179];
	B[1428] = B[1206] & B[1427];
	B[1429] = B[1134] ^ B[1428];
	B[1430] = !B[1400];
	B[1431] = B[1429] ^ B[1430];
	B[1432] = B[1263] & B[1431];
	B[1433] = B[1429] ^ B[1432];
	B[1434] = B[1426] ^ B[1433];
	B[1435] = B[1230] & B[1434];
	B[1436] = B[1426] ^ B[1435];
	B[1437] = B[1436] ^ B[1314];
	B[1438] = B[1174] & B[1437];
	B[1439] = B[1436] ^ B[1438];
	B[1440] = B[1174] | B[1304];
	B[1440] = !B[1440];
	B[1441] = B[1245] & B[1440];
	B[1441] = !B[1441];
	B[1442] = B[1439] & B[1441];
	B[1442] = !B[1442];
	B[1443] = B[1442] ^ B[1425];
	B[1444] = B[1442] & B[1425];
	B[1445] = B[1174] | B[1321];
	B[1445] = !B[1445];
	B[1446] = B[1245] & B[1445];
	B[1446] = !B[1446];
	B[1447] = B[1025] ^ B[1039];
	B[1448] = B[1206] & B[1447];
	B[1449] = B[1025] ^ B[1448];
	B[1450] = B[1449] ^ B[1414];
	B[1451] = B[1263] & B[1450];
	B[1452] = B[1449] ^ B[1451];
	B[1453] = B[1389] ^ B[1452];
	B[1454] = B[1230] & B[1453];
	B[1455] = B[1389] ^ B[1454];
	B[1456] = B[1455] ^ B[1330];
	B[1457] = B[1174] & B[1456];
	B[1458] = B[1455] ^ B[1457];
	B[1982] = !B[1458];
	B[1459] = B[1446] & B[1982];
	B[1459] = !B[1459];
	B[1460] = B[1459] ^ B[1444];
	B[1461] = B[1459] & B[1444];
	B[1462] = !B[1403];
	B[1463] = B[1137] ^ B[1136];
	B[1464] = B[1207] & B[1463];
	B[1465] = B[1137] ^ B[1464];
	B[1466] = B[1465] ^ B[1429];
	B[1467] = B[1263] & B[1466];
	B[1468] = B[1465] ^ B[1467];
	B[1469] = B[1462] ^ B[1468];
	B[1470] = B[1230] & B[1469];
	B[1471] = B[1462] ^ B[1470];
	B[1472] = !B[1346];
	B[1473] = B[1471] ^ B[1472];
	B[1474] = B[1174] & B[1473];
	B[1475] = B[1471] ^ B[1474];
	B[1983] = !B[1174];
	B[1476] = B[1347] & B[1983];
	B[1476] = !B[1476];
	B[1984] = !B[1476];
	B[1477] = B[1245] & B[1984];
	B[1477] = !B[1477];
	B[1478] = B[1475] & B[1477];
	B[1478] = !B[1478];
	B[1479] = B[1478] ^ B[1461];
	B[1480] = B[1478] & B[1461];
	B[1985] = !B[1256];
	B[1481] = B[1245] & B[1985];
	B[1481] = !B[1481];
	B[1986] = !B[1363];
	B[1482] = B[1174] & B[1986];
	B[1482] = !B[1482];
	B[1483] = B[1481] & B[1482];
	B[1484] = B[1158] ^ B[1137];
	B[1485] = B[1207] & B[1484];
	B[1486] = B[1158] ^ B[1485];
	B[1487] = !B[1486];
	B[1488] = B[1449] ^ B[1487];
	B[1489] = B[1221] & B[1488];
	B[1490] = B[1449] ^ B[1489];
	B[1491] = B[1417] ^ B[1490];
	B[1492] = B[1230] & B[1491];
	B[1493] = B[1417] ^ B[1492];
	B[1987] = !B[1493];
	B[1494] = B[1483] & B[1987];
	B[1494] = !B[1494];
	B[1495] = B[1494] ^ B[1480];
	B[1496] = B[1494] & B[1480];
	B[1988] = !B[1243];
	B[1497] = B[1245] & B[1988];
	B[1497] = !B[1497];
	B[1989] = !B[1175];
	B[1498] = B[1378] & B[1989];
	B[1498] = !B[1498];
	B[1499] = B[1497] & B[1498];
	B[1500] = B[1157] ^ B[1158];
	B[1501] = B[1207] & B[1500];
	B[1502] = B[1157] ^ B[1501];
	B[1503] = B[1502] ^ B[1465];
	B[1504] = B[1263] & B[1503];
	B[1505] = B[1502] ^ B[1504];
	B[1506] = B[1505] ^ B[1433];
	B[1507] = B[1229] & B[1506];
	B[1508] = B[1505] ^ B[1507];
	B[1509] = B[1499] & B[1508];
	B[1509] = !B[1509];
	B[1510] = B[1509] ^ B[1496];
	B[1511] = B[1509] & B[1496];
	B[1990] = !B[1271];
	B[1512] = B[1245] & B[1990];
	B[1512] = !B[1512];
	B[1513] = B[1174] & B[1392];
	B[1513] = !B[1513];
	B[1514] = B[1512] & B[1513];
	B[1515] = B[1144] ^ B[1157];
	B[1516] = B[1207] & B[1515];
	B[1517] = B[1144] ^ B[1516];
	B[1518] = B[1517] ^ B[1486];
	B[1519] = B[1263] & B[1518];
	B[1520] = B[1517] ^ B[1519];
	B[1521] = !B[1520];
	B[1522] = B[1452] ^ B[1521];
	B[1523] = B[1230] & B[1522];
	B[1524] = B[1452] ^ B[1523];
	B[1991] = !B[1524];
	B[1525] = B[1514] & B[1991];
	B[1525] = !B[1525];
	B[1526] = B[1525] ^ B[1511];
	B[1527] = B[1525] & B[1511];
	B[1992] = !B[1287];
	B[1528] = B[1245] & B[1992];
	B[1528] = !B[1528];
	B[1529] = B[1174] & B[1406];
	B[1529] = !B[1529];
	B[1530] = B[1528] & B[1529];
	B[1531] = B[1144] ^ B[1178];
	B[1532] = B[1206] & B[1531];
	B[1533] = B[1144] ^ B[1532];
	B[1534] = B[1533] ^ B[1502];
	B[1535] = B[1263] & B[1534];
	B[1536] = B[1533] ^ B[1535];
	B[1537] = B[1536] ^ B[1468];
	B[1538] = B[1229] & B[1537];
	B[1539] = B[1536] ^ B[1538];
	B[1540] = B[1530] & B[1539];
	B[1540] = !B[1540];
	B[1541] = B[1540] ^ B[1527];
	B[1542] = B[1540] & B[1527];
	B[1543] = B[1178] ^ B[1161];
	B[1544] = B[1206] & B[1543];
	B[1545] = B[1178] ^ B[1544];
	B[1546] = B[1517] ^ B[1545];
	B[1547] = B[1221] & B[1546];
	B[1548] = B[1517] ^ B[1547];
	B[1993] = !B[1300];
	B[1549] = B[1245] & B[1993];
	B[1549] = !B[1549];
	B[1550] = B[1548] & B[1549];
	B[1551] = B[1174] & B[1420];
	B[1551] = !B[1551];
	B[1552] = B[1229] & B[1490];
	B[1552] = !B[1552];
	B[1553] = B[1551] & B[1552];
	B[1554] = B[1550] & B[1553];
	B[1554] = !B[1554];
	B[1555] = B[1554] ^ B[1542];
	B[1556] = B[1554] & B[1542];
	B[1557] = B[1161] ^ B[1177];
	B[1558] = B[1206] & B[1557];
	B[1559] = B[1161] ^ B[1558];
	B[1560] = B[1533] ^ B[1559];
	B[1561] = B[1221] & B[1560];
	B[1562] = B[1533] ^ B[1561];
	B[1994] = !B[1317];
	B[1563] = B[1245] & B[1994];
	B[1563] = !B[1563];
	B[1564] = B[1562] & B[1563];
	B[1565] = B[1436] | B[1175];
	B[1566] = B[1505] | B[1230];
	B[1567] = B[1565] & B[1566];
	B[1568] = B[1564] & B[1567];
	B[1568] = !B[1568];
	B[1569] = B[1568] ^ B[1556];
	B[1570] = B[1568] & B[1556];
	B[1571] = B[1104] & B[1117];
	B[1572] = B[1571] & B[1130];
	B[1573] = B[1078] & B[1065];
	B[1574] = B[1573] & B[1091];
	B[1575] = B[1572] & B[1574];
	B[1576] = B[1025] & B[1039];
	B[1577] = B[1576] & B[1052];
	B[1578] = B[995] & B[979];
	B[1579] = B[1578] & B[1011];
	B[1580] = B[1577] & B[1579];
	B[1581] = B[1575] & B[1580];
	B[1582] = B[893] & B[872];
	B[1583] = B[1445] | B[1440];
	B[1583] = !B[1583];
	B[1584] = B[587] ^ B[485];
	B[1585] = B[1257] | B[1584];
	B[1585] = !B[1585];
	B[1586] = B[1583] & B[1585];
	B[1586] = !B[1586];
	B[1587] = B[1586] & B[1164];
	B[1995] = !B[1476];
	B[1588] = B[1587] & B[1995];
	B[1588] = !B[1588];
	B[1996] = !B[1588];
	B[1589] = B[1582] & B[1996];
	B[1590] = B[845] & B[962];
	B[1591] = B[818] & B[1590];
	B[1592] = B[1589] & B[1591];
	B[1593] = B[913] & B[930];
	B[1594] = B[946] & B[1593];
	B[1595] = B[787] & B[711];
	B[1596] = B[1595] & B[758];
	B[1597] = B[1594] & B[1596];
	B[1598] = B[1592] & B[1597];
	B[1599] = B[1581] & B[1598];
	B[1600] = B[1151] & B[1599];
	B[1600] = !B[1600];
	B[1997] = !B[1154];
	B[1601] = B[1600] & B[1997];
	B[1601] = !B[1601];
	B[1602] = B[482] & B[1601];
	B[1602] = !B[1602];
	B[1998] = !B[1588];
	B[1603] = B[1602] & B[1998];
	B[1999] = !B[1603];
	B[1604] = B[1602] & B[1999];
	B[2000] = !B[235];
	B[1605] = B[239] & B[2000];
	B[1606] = B[1603] & B[1382];
	B[1606] = !B[1606];
	B[1607] = B[1207] & B[240];
	B[1608] = B[1607] | B[1263];
	B[1609] = B[240] ^ B[235];
	B[1609] = !B[1609];
	B[1610] = !B[1609];
	B[1611] = B[1221] & B[1610];
	B[1611] = !B[1611];
	B[1612] = B[1608] & B[1611];
	B[1613] = B[1607] | B[1609];
	B[1614] = B[1612] & B[1613];
	B[1615] = B[1614] ^ B[1229];
	B[1615] = !B[1615];
	B[1616] = B[235] & B[240];
	B[1616] = !B[1616];
	B[1617] = B[254] ^ B[1616];
	B[1618] = B[1615] ^ B[1617];
	B[1619] = B[1607] ^ B[1221];
	B[1619] = !B[1619];
	B[1620] = B[1619] ^ B[1609];
	B[1621] = B[1618] & B[1620];
	B[2001] = !B[1614];
	B[1622] = B[1230] & B[2001];
	B[1622] = !B[1622];
	B[1623] = B[1230] & B[1617];
	B[1623] = !B[1623];
	B[1624] = B[1622] & B[1623];
	B[2002] = !B[1614];
	B[1625] = B[1617] & B[2002];
	B[1625] = !B[1625];
	B[1626] = B[1624] & B[1625];
	B[1627] = B[1626] ^ B[1174];
	B[1627] = !B[1627];
	B[2003] = !B[1616];
	B[1628] = B[255] & B[2003];
	B[1628] = !B[1628];
	B[1629] = B[266] ^ B[1628];
	B[1630] = B[1627] ^ B[1629];
	B[2004] = !B[1626];
	B[1631] = B[1175] & B[2004];
	B[1631] = !B[1631];
	B[1632] = B[1175] & B[1629];
	B[1632] = !B[1632];
	B[1633] = B[1631] & B[1632];
	B[2005] = !B[1626];
	B[1634] = B[1629] & B[2005];
	B[1634] = !B[1634];
	B[1635] = B[1633] & B[1634];
	B[1636] = B[1635] ^ B[1245];
	B[1636] = !B[1636];
	B[2006] = !B[1628];
	B[1637] = B[267] & B[2006];
	B[1637] = !B[1637];
	B[1638] = B[278] ^ B[1637];
	B[1639] = B[1636] ^ B[1638];
	B[1640] = B[1630] & B[1639];
	B[1641] = B[1621] & B[1640];
	B[2007] = !B[1637];
	B[1642] = B[279] & B[2007];
	B[1642] = !B[1642];
	B[2008] = !B[1642];
	B[1643] = B[291] & B[2008];
	B[1643] = !B[1643];
	B[2009] = !B[1643];
	B[1644] = B[303] & B[2009];
	B[1645] = B[313] ^ B[1644];
	B[1645] = !B[1645];
	B[2010] = !B[1635];
	B[1646] = B[1164] & B[2010];
	B[1646] = !B[1646];
	B[1647] = B[1164] & B[1638];
	B[1647] = !B[1647];
	B[1648] = B[1646] & B[1647];
	B[2011] = !B[1635];
	B[1649] = B[1638] & B[2011];
	B[1649] = !B[1649];
	B[1650] = B[1648] & B[1649];
	B[1651] = B[290] ^ B[1642];
	B[2012] = !B[1651];
	B[1652] = B[1650] & B[2012];
	B[1653] = B[303] ^ B[1643];
	B[1654] = B[1652] & B[1653];
	B[1655] = B[1645] ^ B[1654];
	B[1656] = B[1651] ^ B[1650];
	B[2013] = !B[1656];
	B[1657] = B[1655] & B[2013];
	B[1658] = B[240] ^ B[1206];
	B[1658] = !B[1658];
	B[1659] = B[1653] ^ B[1652];
	B[1660] = B[1658] & B[1659];
	B[1661] = B[1657] & B[1660];
	B[1662] = B[1641] & B[1661];
	B[1662] = !B[1662];
	B[2014] = !B[313];
	B[1663] = B[1645] & B[2014];
	B[1664] = B[1663] & B[1654];
	B[1664] = !B[1664];
	B[1665] = B[1662] & B[1664];
	B[1666] = B[483] & B[1665];
	B[2015] = !B[313];
	B[1667] = B[302] & B[2015];
	B[1668] = B[1605] & B[1667];
	B[1669] = B[290] & B[278];
	B[1670] = B[266] & B[254];
	B[1671] = B[1669] & B[1670];
	B[1672] = B[1668] & B[1671];
	B[1672] = !B[1672];
	B[1673] = B[1672] & B[1604];
	B[1674] = B[1666] & B[1673];
	B[1675] = B[1674] & B[1381];
	B[1675] = !B[1675];
	B[1676] = B[1606] & B[1675];
	B[1676] = !B[1676];
	B[1677] = B[1603] & B[1368];
	B[1677] = !B[1677];
	B[1678] = B[1367] & B[1674];
	B[1678] = !B[1678];
	B[1679] = B[1677] & B[1678];
	B[1679] = !B[1679];
	B[1680] = B[1603] & B[1352];
	B[1680] = !B[1680];
	B[1681] = B[1674] & B[1351];
	B[1681] = !B[1681];
	B[1682] = B[1680] & B[1681];
	B[1682] = !B[1682];
	B[1683] = B[1603] & B[1336];
	B[1683] = !B[1683];
	B[1684] = B[1674] & B[1335];
	B[1684] = !B[1684];
	B[1685] = B[1683] & B[1684];
	B[1685] = !B[1685];
	B[1686] = B[1603] & B[1319];
	B[1686] = !B[1686];
	B[1687] = B[1674] & B[1318];
	B[1687] = !B[1687];
	B[1688] = B[1686] & B[1687];
	B[1688] = !B[1688];
	B[1689] = B[1603] & B[1302];
	B[1689] = !B[1689];
	B[1690] = B[1674] & B[1301];
	B[1690] = !B[1690];
	B[1691] = B[1689] & B[1690];
	B[1691] = !B[1691];
	B[1692] = B[1603] & B[1289];
	B[1692] = !B[1692];
	B[1693] = B[1674] & B[1288];
	B[1693] = !B[1693];
	B[1694] = B[1692] & B[1693];
	B[1694] = !B[1694];
	B[1695] = B[312] | B[299];
	B[1695] = !B[1695];
	B[1696] = B[275] | B[287];
	B[1696] = !B[1696];
	B[1697] = B[1695] & B[1696];
	B[1698] = B[251] | B[263];
	B[1698] = !B[1698];
	B[1699] = B[232] | B[243];
	B[1699] = !B[1699];
	B[1700] = B[1698] & B[1699];
	B[1701] = B[1697] & B[1700];
	B[1701] = !B[1701];
	B[1702] = B[1701] & B[1672];
	B[1702] = !B[1702];
	B[1703] = B[485] & B[1702];
	B[1703] = !B[1703];
	B[1704] = B[1174] & B[1245];
	B[1705] = B[1263] & B[1207];
	B[1706] = B[1704] & B[1705];
	B[2016] = !B[1706];
	B[1707] = B[1703] & B[2016];
	B[1708] = B[318] & B[1707];
	B[1709] = B[1180] & B[1599];
	B[1709] = !B[1709];
	B[2017] = !B[321];
	B[1710] = B[1709] & B[2017];
	B[1711] = B[1710] | B[1601];
	B[1711] = !B[1711];
	B[1712] = B[313] & B[1711];
	B[1712] = !B[1712];
	B[2018] = !B[1645];
	B[1713] = B[1601] & B[2018];
	B[1713] = !B[1713];
	B[1714] = B[1712] & B[1713];
	B[2019] = !B[1665];
	B[1715] = B[1672] & B[2019];
	B[1715] = !B[1715];
	B[2020] = !B[1706];
	B[1716] = B[1715] & B[2020];
	B[1717] = B[1716] & B[1710];
	B[2021] = !B[1655];
	B[1718] = B[1717] & B[2021];
	B[1718] = !B[1718];
	B[1719] = B[1714] & B[1718];
	B[1719] = !B[1719];
	B[1720] = B[1603] & B[1273];
	B[1720] = !B[1720];
	B[1721] = B[1674] & B[1272];
	B[1721] = !B[1721];
	B[1722] = B[1720] & B[1721];
	B[1722] = !B[1722];
	B[1723] = B[303] & B[1711];
	B[1723] = !B[1723];
	B[2022] = !B[1653];
	B[1724] = B[1601] & B[2022];
	B[1724] = !B[1724];
	B[1725] = B[1723] & B[1724];
	B[2023] = !B[1659];
	B[1726] = B[1717] & B[2023];
	B[1726] = !B[1726];
	B[1727] = B[1725] & B[1726];
	B[1727] = !B[1727];
	B[1728] = B[291] & B[1711];
	B[1728] = !B[1728];
	B[1729] = B[1601] & B[1651];
	B[1729] = !B[1729];
	B[1730] = B[1728] & B[1729];
	B[1731] = B[1656] & B[1717];
	B[1731] = !B[1731];
	B[1732] = B[1730] & B[1731];
	B[1732] = !B[1732];
	B[1733] = B[279] & B[1711];
	B[1733] = !B[1733];
	B[1734] = B[1638] & B[1601];
	B[1734] = !B[1734];
	B[1735] = B[1733] & B[1734];
	B[2024] = !B[1639];
	B[1736] = B[1717] & B[2024];
	B[1736] = !B[1736];
	B[1737] = B[1735] & B[1736];
	B[1737] = !B[1737];
	B[1738] = B[267] & B[1711];
	B[1738] = !B[1738];
	B[1739] = B[1629] & B[1601];
	B[1739] = !B[1739];
	B[1740] = B[1738] & B[1739];
	B[2025] = !B[1630];
	B[1741] = B[1717] & B[2025];
	B[1741] = !B[1741];
	B[1742] = B[1740] & B[1741];
	B[1742] = !B[1742];
	B[1743] = B[255] & B[1711];
	B[1743] = !B[1743];
	B[1744] = B[1617] & B[1601];
	B[1744] = !B[1744];
	B[1745] = B[1743] & B[1744];
	B[2026] = !B[1618];
	B[1746] = B[1717] & B[2026];
	B[1746] = !B[1746];
	B[1747] = B[1745] & B[1746];
	B[1747] = !B[1747];
	B[1748] = B[235] & B[1711];
	B[1748] = !B[1748];
	B[1749] = B[1610] & B[1601];
	B[1749] = !B[1749];
	B[1750] = B[1748] & B[1749];
	B[2027] = !B[1620];
	B[1751] = B[1717] & B[2027];
	B[1751] = !B[1751];
	B[1752] = B[1750] & B[1751];
	B[1752] = !B[1752];
	B[2028] = !B[1658];
	B[1753] = B[1717] & B[2028];
	B[1753] = !B[1753];
	B[1754] = B[1711] ^ B[1601];
	B[1755] = B[239] & B[1754];
	B[1756] = B[1711] ^ B[1755];
	B[2029] = !B[1756];
	B[1757] = B[1753] & B[2029];
	B[1757] = !B[1757];
	B[1758] = B[1152] ^ B[1177];
	B[1759] = B[1207] & B[1758];
	B[1760] = B[1152] ^ B[1759];
	B[2030] = !B[1334];
	B[1761] = B[1245] & B[2030];
	B[1761] = !B[1761];
	B[1762] = B[1760] & B[1761];
	B[1763] = B[1521] & B[1229];
	B[1763] = !B[1763];
	B[1764] = B[1545] | B[1221];
	B[1765] = B[1763] & B[1764];
	B[1766] = B[1174] & B[1455];
	B[1766] = !B[1766];
	B[1767] = B[1765] & B[1766];
	B[1768] = B[1762] & B[1767];
	B[1768] = !B[1768];
	B[1769] = B[1768] ^ B[1570];
	B[1770] = B[1603] & B[1769];
	B[1770] = !B[1770];
	B[1771] = B[1768] & B[1674];
	B[1771] = !B[1771];
	B[1772] = B[1770] & B[1771];
	B[1772] = !B[1772];
	B[1773] = B[1603] & B[1569];
	B[1773] = !B[1773];
	B[1774] = B[1674] & B[1568];
	B[1774] = !B[1774];
	B[1775] = B[1773] & B[1774];
	B[1775] = !B[1775];
	B[1776] = B[1603] & B[1555];
	B[1776] = !B[1776];
	B[1777] = B[1674] & B[1554];
	B[1777] = !B[1777];
	B[1778] = B[1776] & B[1777];
	B[1778] = !B[1778];
	B[1779] = B[1603] & B[1258];
	B[1779] = !B[1779];
	B[1780] = B[1674] & B[1244];
	B[1780] = !B[1780];
	B[1781] = B[1779] & B[1780];
	B[1781] = !B[1781];
	B[1782] = B[1603] & B[1541];
	B[1782] = !B[1782];
	B[1783] = B[1674] & B[1540];
	B[1783] = !B[1783];
	B[1784] = B[1782] & B[1783];
	B[1784] = !B[1784];
	B[1785] = B[1603] & B[1526];
	B[1785] = !B[1785];
	B[1786] = B[1674] & B[1525];
	B[1786] = !B[1786];
	B[1787] = B[1785] & B[1786];
	B[1787] = !B[1787];
	B[1788] = B[1603] & B[1510];
	B[1788] = !B[1788];
	B[1789] = B[1674] & B[1509];
	B[1789] = !B[1789];
	B[1790] = B[1788] & B[1789];
	B[1790] = !B[1790];
	B[1791] = B[1603] & B[1495];
	B[1791] = !B[1791];
	B[1792] = B[1674] & B[1494];
	B[1792] = !B[1792];
	B[1793] = B[1791] & B[1792];
	B[1793] = !B[1793];
	B[1794] = B[1603] & B[1479];
	B[1794] = !B[1794];
	B[1795] = B[1674] & B[1478];
	B[1795] = !B[1795];
	B[1796] = B[1794] & B[1795];
	B[1796] = !B[1796];
	B[1797] = B[1603] & B[1460];
	B[1797] = !B[1797];
	B[1798] = B[1674] & B[1459];
	B[1798] = !B[1798];
	B[1799] = B[1797] & B[1798];
	B[1799] = !B[1799];
	B[1800] = B[1603] & B[1443];
	B[1800] = !B[1800];
	B[1801] = B[1674] & B[1442];
	B[1801] = !B[1801];
	B[1802] = B[1800] & B[1801];
	B[1802] = !B[1802];
	B[1803] = B[1603] & B[1424];
	B[1803] = !B[1803];
	B[1804] = B[1674] & B[1423];
	B[1804] = !B[1804];
	B[1805] = B[1803] & B[1804];
	B[1805] = !B[1805];
	B[1806] = B[1603] & B[1410];
	B[1806] = !B[1806];
	B[1807] = B[1674] & B[1409];
	B[1807] = !B[1807];
	B[1808] = B[1806] & B[1807];
	B[1808] = !B[1808];
	B[1809] = B[1603] & B[1396];
	B[1809] = !B[1809];
	B[1810] = B[1674] & B[1395];
	B[1810] = !B[1810];
	B[1811] = B[1809] & B[1810];
	B[1811] = !B[1811];
	B[1812] = B[1603] ^ B[1674];
	B[1813] = B[1257] & B[1812];
	B[1814] = B[1603] ^ B[1813];
	res[0] = B[1814];
	res[1] = B[1781];
	res[2] = B[1722];
	res[3] = B[1694];
	res[4] = B[1691];
	res[5] = B[1688];
	res[6] = B[1685];
	res[7] = B[1682];
	res[8] = B[1679];
	res[9] = B[1676];
	res[10] = B[1811];
	res[11] = B[1808];
	res[12] = B[1805];
	res[13] = B[1802];
	res[14] = B[1799];
	res[15] = B[1796];
	res[16] = B[1793];
	res[17] = B[1790];
	res[18] = B[1787];
	res[19] = B[1784];
	res[20] = B[1778];
	res[21] = B[1775];
	res[22] = B[1772];
	res[23] = B[1757];
	res[24] = B[1752];
	res[25] = B[1747];
	res[26] = B[1742];
	res[27] = B[1737];
	res[28] = B[1732];
	res[29] = B[1727];
	res[30] = B[1719];
	res[31] = B[1708];

	delete[] B;

	return res;
}

